import { BaseEntity } from '@libs/common/entities';
import { ApiProperty } from '@nestjs/swagger';
import { Column, Entity } from 'typeorm';

// 用户积分表
@Entity('crm_node_market_points')
export class Points extends BaseEntity {
  @ApiProperty({ description: '关联到用户表中的用户ID（主键）' })
  @Column({ comment: '用户ID', unique: true })
  userId: string;

  @ApiProperty({ description: '用户名称' })
  @Column({ comment: '用户名称' })
  userName?: string;

  @ApiProperty({ description: '用户当前可用的积分余额' })
  @Column('double', { comment: '可用积分' })
  points: number = 0;

  @ApiProperty({ description: '用户当前被冻结的积分余额（例如待确认的交易）' })
  @Column('double', { comment: '冻结积分' })
  frozenPoints: number = 0;

  @ApiProperty({ description: '用户累计获得的总积分数量' })
  @Column('double', { comment: '历史总积分' })
  historyPoints: number = 0;

  @ApiProperty({ description: '用户已经使用的积分数量' })
  @Column('double', { comment: '已使用积分' })
  usedPoints: number = 0;

  // @ApiProperty({ description: '到期但尚未使用的积分数量' })
  // @Column({ comment: '过期积分' })
  // expiredPoints: number;
}
